package network;
import entities.*;
class ServerClassSignatures{

public boolean authenticate (String username){
/**
This method should return whether the user is 
authenticated to log in to the system or not on 
receiving from logIn() in Client class
**/
	return true;
}

/**
Receives userName from Client class
To be written to database
**/
boolean register (String userName){
	return true;
}

/**
Receives password from Cleint class
To be written to database and Hashed
**/
boolean activate (String password){
	return true;
}

/** Class Candidates Needs To be Constructed 
	Consider adding a list of Voters after 
	updating the database to show the allowed voters for this voting
**/
boolean createVoting(String StartDate, String EndDate, Candidate[] candidates, String question){
	return true;
}

/** use the Object Voting to query the DB to view the voting choosen (Voting Name, Voting Candidates, and Voting Question) **/
Voting viewVoting(String votingName){
	return null;
}

/** This method should be used to query the DB to view all the votings this user either created or voted in **/
String[] viewPendingVotings(String username){
	return null;
}

/** This method is used to view the votings of each user **/
String getVote(String votingName){
	return null;
}

/** This Method is responsible for making the vote of the user **/
String makeVote(int votingID, Candidate candidateChosen){
	return null;
}

/**
sends userName to Server class
check if matches activation link 
and wait for user's new password 
to be written
**/
boolean activationLink (String activationCode){
	return true;
}

public void send(String msg){
/**
Responsible for sending messages to the cleint
Should match formats with receive() in client class
**/
}

public String receive(){
	return null;

}
}